package com.arpa.wms.service;

import com.arpa.wms.domain.dto.InitializationDTO;
import com.arpa.wms.domain.dto.InitializationExcelDTO;
import com.arpa.wms.domain.entity.Initialization;
import com.arpa.wms.domain.vo.InitializationVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 期初 服务类 接口
 * @author jinss
 * @date 2020-09-24 14:39:32
 **/
public interface IInitializationService extends IService<Initialization> {

    /**
     * 保存
     * @param entity
     * @return
     */
    @Override
    boolean save(Initialization entity);

    /**
     * 根据code更新实体
     * @param entity
     * @return
     */
    int updateByCode(Initialization entity);

    /**
     * 查询列表
     * @param initializationDTO
     * @return
     */
    List<InitializationVO> queryList(InitializationDTO initializationDTO);

   List<String> queryByGoodsCode(List<String> list);

    /**
     * 查询合计,包含总数
     * @param initializationDTO
     * @return
     */
    InitializationVO queryListSum(InitializationDTO initializationDTO);

    /**
     * 根据编码获取盘点单
     * @param initializationDTO
     * @return
     */
    InitializationVO getOneByCode(InitializationDTO initializationDTO);

    /**
     * 删除盘点单
     * @param codes
     * @return
     */
    boolean remove(List<String> codes);

    /**
     * 更新 期初单 状态
     * @param code
     * @param status
     * @return
     */
    int updateStatusByCode(String code, String status);

    /**
     * 审核 期初单
     * @param initialization
     * @return
     */
    int audit(Initialization initialization);

    /**
     * 导入数据回显
     * @param initializationExcelDTOList
     * @return
     */
    List<InitializationExcelDTO> initializationView(List<InitializationExcelDTO> initializationExcelDTOList);

    /**
     * 导入数据
     */
    void initializationImport();


}
